export default {
  target: 'static',
  // 全局页头: https://go.nuxtjs.dev/config-head
  head: {
    title: 'nuxt-demo',
    htmlAttrs: {
      lang: 'en'
    },
    meta: [
      { charset: 'utf-8' },
      { name: 'viewport', content: 'width=device-width, initial-scale=1' },
      { hid: 'description', name: 'description', content: '' },
      { name: 'format-detection', content: 'telephone=no' },
      // 自定义的 meta
      { name: 'description', content: '自定义的 meta 注入' },
      // hid 是一个 meta 的标识，如果在其他页面单独定义时传入了相同的 hid 就会覆盖 meta，否则会同时存在
      { hid: 'abc', name: 'description', content: 'hid-初次' },
    ],
    link: [
      { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
    ],
    // script: []
  },
  // 路由的配置
  router: {
    // 设置路由的中间件
    middleware: 'auth', // 这个名称是约定好的，使用的时候也需要指向这个名字，这里使用的是 auth
    // 扩展路由
    extendRoutes(routes, resolve) {
      // 配置了 index 后, 原本 "/" 指向首页的, 现在 "/index" 同样指向首页, 并且可以通过别名 name 跳转
      // 需要配置其他路由就继续 push
      routes.push({
        name: 'home', // 路由别名
        path: '/index', // 路由地址
        component: resolve(__dirname, 'pages/index.vue') // 组件
      })
    }
  },

  // 全局的 CSS: https://go.nuxtjs.dev/config-css
  css: [
    'element-ui/lib/theme-chalk/index.css',
    'assets/styles/normalize.css',
    'assets/styles/transition.css',
    'assets/styles/public.scss'
  ],

  // 定义系统默认的 loading 效果或者指定自定义的 loading 组件
  loading: { color: '#ffb900', height: '10px' }, // 可以修改颜色等
  // loading: 'components/loading.vue', // 指定自定义的 loading 组件

  // 在渲染页面之前运行的插件: https://go.nuxtjs.dev/config-plugins
  plugins: [
    'plugins/element-ui',
    'plugins/router',
    // 配置的时候可以使用一个对象的形式
    {
      src: 'plugins/axios',
      ssr: true // 开启服务端渲染
    },
    'plugins/mixins',
  ],

  // 自动导入组件: https://go.nuxtjs.dev/config-components
  components: true, // 自动导入 components 文件夹中的 vue 文件 

  // 用于开发和构建的模块(推荐): https://go.nuxtjs.dev/config-modules
  buildModules: [
  ],

  // 组件: https://go.nuxtjs.dev/config-modules
  modules: [
    // https://go.nuxtjs.dev/axios
    '@nuxtjs/axios',
    'cookie-universal-nuxt'
  ],

  // Axios 模块配置: https://go.nuxtjs.dev/config-axios
  axios: {
    // 避免强制执行硬编码 localhost:3000 的解决方法: https://github.com/nuxt-community/axios-module/issues/308
    baseURL: '/',
  },

  // Build Configuration: https://go.nuxtjs.dev/config-build
  build: {
    transpile: [/^element-ui/], // 打包的时候排除这个包
  }
}
